- d/patches: Remove, applied upstream
- d/libostree-1-1.symbols: Update
* Move Vcs-* to salsa.debian.org
+ d/p/test-concurrency-Explicitly-use-floor-division.patch,
+ d/p/tests-bootloader-entries-crosscheck-Use-Python-3-friendly.patch:
+ Make tests compatible with Python 3
+ * d/control, d/p/debian/Use-Python-3-for-tests.patch:
+ Switch build-time tests and autopkgtests to Python 3
-- Simon McVittie <smcv@debian.org> Mon, 15 Jan 2018 01:19:14 +0000
--- /dev/null
+test-concurrency-Use-Python-3-syntax-for-octal.patch
+test-concurrency-Replace-range-with-xrange.patch
+test-concurrency-Explicitly-use-floor-division.patch
+tests-bootloader-entries-crosscheck-Use-Python-3-friendly.patch
--- /dev/null
+From: Simon McVittie <smcv@debian.org>
+Date: Wed, 17 Jan 2018 15:03:59 +0000
+Subject: test-concurrency: Explicitly use floor division
+
+Python 3 is pickier about this. Python 2.7 has Python 3-compatible
+semantics for division when the division feature is imported from the
+future.
+
+Signed-off-by: Simon McVittie <smcv@debian.org>
+---
+ tests/test-concurrency.py | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/tests/test-concurrency.py b/tests/test-concurrency.py
+index f16f696..3a0ce10 100755
+--- a/tests/test-concurrency.py
++++ b/tests/test-concurrency.py
+@@ -17,6 +17,7 @@
+ # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ # Boston, MA 02111-1307, USA.
+
++from __future__ import division
+ from __future__ import print_function
+ import os
+ import sys
+@@ -78,12 +79,12 @@ def run(n_committers, n_pruners):
+ pruners = set()
+
+ print('n_committers', n_committers, 'n_pruners', n_pruners, file=sys.stderr)
+- n_trees = n_committers / 2
++ n_trees = n_committers // 2
+ for v in range(n_trees):
+ mktree('tree{}'.format(v))
+
+ for v in range(n_committers):
+- committers.add(commit(v / 2))
++ committers.add(commit(v // 2))
+ for v in range(n_pruners):
+ pruners.add(prune())
+
+@@ -101,8 +102,8 @@ def run(n_committers, n_pruners):
+ shutil.rmtree('tree{}'.format(v))
+
+ # No concurrent pruning
+-run(cpu_count()/2 + 2, 0)
++run(cpu_count() // 2 + 2, 0)
+ print("ok no concurrent prunes")
+
+-run(cpu_count()/2 + 4, 3)
++run(cpu_count() // 2 + 4, 3)
+ print("ok concurrent prunes")
--- /dev/null
+From: Simon McVittie <smcv@debian.org>
+Date: Wed, 17 Jan 2018 14:42:20 +0000
+Subject: test-concurrency: Replace range with xrange
+
+range in Python 3 does what xrange did in Python 2. This still works in
+Python 2, it just uses a bit more memory.
+
+Signed-off-by: Simon McVittie <smcv@debian.org>
+---
+ tests/test-concurrency.py | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/tests/test-concurrency.py b/tests/test-concurrency.py
+index 6fade24..f16f696 100755
+--- a/tests/test-concurrency.py
++++ b/tests/test-concurrency.py
+@@ -34,7 +34,7 @@ def fatal(msg):
+ def mktree(dname, serial=0):
+ print('Creating tree', dname, file=sys.stderr)
+ os.mkdir(dname, 0o755)
+- for v in xrange(20):
++ for v in range(20):
+ with open('{}/{}'.format(dname, v), 'w') as f:
+ f.write('{} {} {}\n'.format(dname, serial, v))
+
+@@ -79,12 +79,12 @@ def run(n_committers, n_pruners):
+
+ print('n_committers', n_committers, 'n_pruners', n_pruners, file=sys.stderr)
+ n_trees = n_committers / 2
+- for v in xrange(n_trees):
++ for v in range(n_trees):
+ mktree('tree{}'.format(v))
+
+- for v in xrange(n_committers):
++ for v in range(n_committers):
+ committers.add(commit(v / 2))
+- for v in xrange(n_pruners):
++ for v in range(n_pruners):
+ pruners.add(prune())
+
+ failed = False
+@@ -97,7 +97,7 @@ def run(n_committers, n_pruners):
+ if failed:
+ fatal('A child process exited abnormally')
+
+- for v in xrange(n_trees):
++ for v in range(n_trees):
+ shutil.rmtree('tree{}'.format(v))
+
+ # No concurrent pruning
--- /dev/null
+From: Simon McVittie <smcv@debian.org>
+Date: Wed, 17 Jan 2018 14:25:26 +0000
+Subject: test-concurrency: Use Python 3 syntax for octal
+
+This also works in Python 2.7, and is a little clearer.
+
+Signed-off-by: Simon McVittie <smcv@debian.org>
+---
+ tests/test-concurrency.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test-concurrency.py b/tests/test-concurrency.py
+index bdcc1d9..6fade24 100755
+--- a/tests/test-concurrency.py
++++ b/tests/test-concurrency.py
+@@ -33,7 +33,7 @@ def fatal(msg):
+ # different files with different checksums.
+ def mktree(dname, serial=0):
+ print('Creating tree', dname, file=sys.stderr)
+- os.mkdir(dname, 0755)
++ os.mkdir(dname, 0o755)
+ for v in xrange(20):
+ with open('{}/{}'.format(dname, v), 'w') as f:
+ f.write('{} {} {}\n'.format(dname, serial, v))
--- /dev/null
+From: Simon McVittie <smcv@debian.org>
+Date: Wed, 17 Jan 2018 15:19:12 +0000
+Subject: tests/bootloader-entries-crosscheck: Use Python 3-friendly sorting
+
+This is a little clearer than a strcmp()-style negative/zero/positive
+return, and also works in Python 2.
+
+Signed-off-by: Simon McVittie <smcv@debian.org>
+---
+ tests/bootloader-entries-crosscheck.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tests/bootloader-entries-crosscheck.py b/tests/bootloader-entries-crosscheck.py
+index 38e8e45..5faa548 100755
+--- a/tests/bootloader-entries-crosscheck.py
++++ b/tests/bootloader-entries-crosscheck.py
+@@ -38,8 +38,8 @@ def fatal(msg):
+ sys.stderr.write('\n')
+ sys.exit(1)
+
+-def compare_entries_descending(a, b):
+- return int(b['version']) - int(a['version'])
++def entry_get_version(entry):
++ return int(entry['version'])
+
+ def get_ostree_option(optionstring):
+ for o in optionstring.split():
+@@ -65,7 +65,7 @@ for fname in os.listdir(loaderpath):
+ v = line[s+1:]
+ entry[k] = v
+ entries.append(entry)
+- entries.sort(compare_entries_descending)
++ entries.sort(key=entry_get_version, reverse=True)
+
+ # Parse SYSLINUX config
+ with open(syslinuxpath) as f: